package com.gun.management.module.task.controller.admin.taskRewardRecord.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.gun.management.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static com.gun.management.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 任务奖励记录信息分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class TaskRewardRecordPageReqVO extends PageParam {

    @Schema(description = "任务id", example = "31978")
    private Long taskId;

    @Schema(description = "会员用户id", example = "5059")
    private Long userId;

    @Schema(description = "任务名称", example = "A计划推广任务")
    @ExcelProperty("任务名称")
    private String taskName;


    @Schema(description = "任务类型id", example = "1")
    @ExcelProperty("任务类型id")
    private Integer categoryId;

    @Schema(description = "用户上传图片url(任务截图)", example = "http://****.com/images/test.png")
    private String taskScreenshot;

    @Schema(description = "奖励积分", example = "10")
    private Integer rewardScore;

    @Schema(description = "奖励时间", example = "2024-10-22")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] rewardTime;

    @Schema(description = "审核状态(0-待审核 1-审核通过 2-审核拒绝)，对应数据字典audit_status", example = "1")
    private Integer auditStatus;

    @Schema(description = "审核人id", example = "1")
    private Long auditUserId;

    @Schema(description = "审核意见", example = "上传的图片不够清晰")
    private String auditReason;


    @Schema(description = "创建时间", example = "2024-10-22")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

    @Schema(description = "用户名称", example = "user001(id: 286")
    private String userName;


}